_package("alz.lang");

/**
 * 根类 AObject
 */
_class("AObject", null, function(){
	//this._className = "";  //static property
	//[memleak]AObject.__hash__ = {};
	//[memleak]AObject.__id__ = 0;
	/**
	 * 构造函数，所有子类都应override该方法
	 */
	this._init = function(){
		//Object.call(this);
		this._disposed = false;
		//[memleak]this.__hashid__ = "_" + (AObject.__id__++);
		//[memleak]AObject.__hash__[this.__hashid__] = this;
	};
	/**
	 * 析构函数，所有子类都应override该方法
	 */
	this.dispose = function(){
		//[memleak]delete AObject.__hash__[this.__hashid__];
		this._disposed = true;
	};
	/**
	 * 返回对象的字符串表示
	 */
	this.toString = function(){
		return "[object " + (this._className || "Object") + "]";
	};
});